#ifndef TEXTURECACHE_H
#define TEXTURECACHE_H

#include "Singleton.h"
#include "NonCopyable.h"

#include <string>
#include <map>

namespace sf
{
class Texture;
}

class TextureCache : public Singleton<TextureCache>, public NonCopyable<TextureCache>
{
public:
    TextureCache();
    ~TextureCache();

    sf::Texture* LoadTexture(const char* fileName);

private:
    typedef std::map<std::string, sf::Texture*> TCache;
     TCache m_cache;
};

#endif
